代码:

class Solution {

public:

vector<int> twoSum\(vector<int>& nums, int target\) {

    int i,j,num1,num2;int flag=0;



    for \(i=0;i<nums.size\(\);i++\)

    { if\(flag==1\) break;

      else{

         for \(j=i+1;j<nums.size\(\);j++\){

            if\(nums\[i\]+nums\[j\]==target\){

                num1=i;num2=j; flag=1;break;}

            else{

               flag=0; 

            }

        }

      }

    }

   vector<int> results;

   if \(flag==1\){results.push\_back\(num1\);results.push\_back\(num2\); return results;}

      else{results.push\_back\(nums.size\(\)\);results.push\_back\(nums.size\(\)\); return results;}



}

};

遇到的问题:

  1. vector<int>& nums 类似于一个数组,而不是一个指向数组的指针,所以要用数组i的元素,是nums[i],而不是*(num+i)

  2. 数组大小是nums.size(),而不是sizeof()

  3. j可以从i开始考虑

  4. vector的压入是push_back()

results matching ""

    No results matching ""